# 导入柱状图

import pyecharts.options as opts
from pyecharts.charts import Bar, Line, Timeline, Pie,Map


# 导入配置项

# 基础柱状图
def barBase():
    # x数据格式
    dataZhu = [
        {"x": ["一月", "二月", "三月"], "y": [10, 24, 56]},
        {"x": ["一月", "二月", "三月"], "y": [20, 14, 36]},
        {"x": ["一月", "二月", "三月"], "y": [70, 224, 156]}
    ]
    year = [2020, 2021, 2022]
    # 添加时间轴
    time = Timeline()
    for i in range(len(year)):
        # 创建柱状图对象
        b = Bar()
        # 添加x轴数据
        b.add_xaxis(dataZhu[i]["x"])
        # 添加y轴数据
        b.add_yaxis("统计半年的温度变化", dataZhu[i]["y"], color="red", bar_width=20)
        time.add(b, "{}年".format(year[i]))
    # 开启自动播放
    time.add_schema(is_auto_play=True,is_timeline_show=False)
    # 生成json格式的数据
    return time.dump_options_with_quotes()


# 基础柱状图
def lineBase():
    # x数据格式
    dataZhu = [
        {"x": ["一月", "二月", "三月"], "y": [10, 24, 56]},
        {"x": ["一月", "二月", "三月"], "y": [20, 14, 36]},
        {"x": ["一月", "二月", "三月"], "y": [70, 224, 156]}
    ]
    year = [2020, 2021, 2022]
    # 添加时间轴
    time = Timeline()
    for i in range(len(year)):
        # 创建折线图对象
        b = Line()
        # 添加x轴数据
        b.add_xaxis(dataZhu[i]["x"])
        # 添加y轴数据
        b.add_yaxis("统计半年的温度变化", dataZhu[i]["y"], color="red")
        time.add(b, "{}年".format(year[i]))
    # 开启自动播放
    time.add_schema(is_auto_play=True, is_timeline_show=False)
    # 生成json格式的数据
    return time.dump_options_with_quotes()


def pieBase():
    data = [
        [
            ("90分以上", 15),
            ("80分到90分", 12),
            ("70分到80分", 29),
            ("60分到70分", 21),
            ("60分以下", 12)
        ],
        [
            ("90分以上", 6),
            ("80分到90分", 12),
            ("70分到80分", 3),
            ("60分到70分", 29),
            ("60分以下", 15)
        ],
        [
            ("90分以上", 9),
            ("80分到90分", 19),
            ("70分到80分", 11),
            ("60分到70分", 23),
            ("60分以下", 8)
        ]
    ]
    year = [2020, 2021, 2022]
    # 添加时间轴
    time = Timeline()
    for i in range(len(year)):
        # 创建柱状图对象
        p = Pie()
        # 添加x轴数据
        p.add("考试成绩分布", data[i], rosetype="area")
        # 添加y轴数据
        time.add(p, "{}年".format(year[i]))
    # 开启自动播放
    time.add_schema(is_auto_play=True,is_timeline_show=False)
    # 生成json格式的数据
    return time.dump_options_with_quotes()

def mapBase():
    # x数据格式
    dataMap = [
        [("四川省", 200), ("云南省", 100), ("贵州省", 300)],
        [("四川省", 500), ("云南省", 200), ("贵州省", 350)],
        [("四川省", 100), ("云南省", 180), ("贵州省", 600)]
    ]
    # 地图
    year = [2020, 2021, 2022]
    # 添加时间轴
    time = Timeline()
    for i in range(len(year)):
        # 创建柱状图对象
        m = Map()
        # 添加x轴数据
        m.add("地图", dataMap[i], "china")
        # 设置不显示图例
        m.set_global_opts()
        # 设置颜色变化
        m.set_global_opts(legend_opts=opts.LegendOpts(is_show=False),
            visualmap_opts=opts.VisualMapOpts(
            max_=500,
            min_=50,
            split_number=5,
            is_piecewise=True
        ))
        # 添加y轴数据
        time.add(m, "{}年".format(year[i]))
       # 开启自动播放
    time.add_schema(is_auto_play=True,is_timeline_show=False)
    # 生成json格式的数据
    return time.dump_options_with_quotes()

